package modelos.pojos;

import java.sql.*;

public class Rol {

    private int id;
    private String nombre;
    private boolean abonar;
    private boolean cancelarReserva;
    private boolean configurarInformes;
    private boolean confirmarCheckIn;
    private boolean consultarHabitacionesDisponibles;
    private boolean consultarInforme;
    private boolean consultarReserva;
    private boolean consultarServiciosAdicionales;
    private boolean desactivarCliente;
    private boolean facturar;
    private boolean generarInforme;
    private boolean gestionarCliente;
    private boolean gestionarHabitaciones;
    private boolean gestionarRoles;
    private boolean gestionarSaladeEventos;
    private boolean gestionarServiciosAdicionales;
    private boolean gestionarUsuarios;
    private boolean modificarReserva;
    private boolean registrarServicios;
    private boolean solicitarReserva;
    private char estado;

    public Rol() {
    }

    public Rol(String nombre, boolean abonar, boolean cancelarReserva, boolean configurarInformes, boolean confirmarCheckIn, boolean consultarHabitacionesDisponibles, boolean consultarInforme, boolean consultarReserva, boolean consultarServiciosAdicionales, boolean desactivarCliente, boolean facturar, boolean generarInforme, boolean gestionarCliente, boolean gestionarHabitaciones, boolean gestionarRoles, boolean gestionarSaladeEventos, boolean gestionarServiciosAdicionales, boolean gestionarUsuarios, boolean modificarReserva, boolean registrarServicios, boolean solicitarReserva, char estado) {
        this.nombre = nombre;
        this.abonar = abonar;
        this.cancelarReserva = cancelarReserva;
        this.configurarInformes = configurarInformes;
        this.confirmarCheckIn = confirmarCheckIn;
        this.consultarHabitacionesDisponibles = consultarHabitacionesDisponibles;
        this.consultarInforme = consultarInforme;
        this.consultarReserva = consultarReserva;
        this.consultarServiciosAdicionales = consultarServiciosAdicionales;
        this.desactivarCliente = desactivarCliente;
        this.facturar = facturar;
        this.generarInforme = generarInforme;
        this.gestionarCliente = gestionarCliente;
        this.gestionarHabitaciones = gestionarHabitaciones;
        this.gestionarRoles = gestionarRoles;
        this.gestionarSaladeEventos = gestionarSaladeEventos;
        this.gestionarServiciosAdicionales = gestionarServiciosAdicionales;
        this.gestionarUsuarios = gestionarUsuarios;
        this.modificarReserva = modificarReserva;
        this.registrarServicios = registrarServicios;
        this.solicitarReserva = solicitarReserva;
        this.estado = estado;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public char getEstado() {
        return estado;
    }

    public void setEstado(char estado) {
        this.estado = estado;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public boolean isAbonar() {
        return abonar;
    }

    public void setAbonar(boolean abonar) {
        this.abonar = abonar;
    }

    public boolean isCancelarReserva() {
        return cancelarReserva;
    }

    public void setCancelarReserva(boolean cancelarReserva) {
        this.cancelarReserva = cancelarReserva;
    }

    public boolean isConfigurarInformes() {
        return configurarInformes;
    }

    public void setConfigurarInformes(boolean configurarInformes) {
        this.configurarInformes = configurarInformes;
    }

    public boolean isConfirmarCheckIn() {
        return confirmarCheckIn;
    }

    public void setConfirmarCheckIn(boolean confirmarCheckIn) {
        this.confirmarCheckIn = confirmarCheckIn;
    }

    public boolean isConsultarHabitacionesDisponibles() {
        return consultarHabitacionesDisponibles;
    }

    public void setConsultarHabitacionesDisponibles(boolean consultarHabitacionesDisponibles) {
        this.consultarHabitacionesDisponibles = consultarHabitacionesDisponibles;
    }

    public boolean isConsultarInforme() {
        return consultarInforme;
    }

    public void setConsultarInforme(boolean consultarInforme) {
        this.consultarInforme = consultarInforme;
    }

    public boolean isConsultarReserva() {
        return consultarReserva;
    }

    public void setConsultarReserva(boolean consultarReserva) {
        this.consultarReserva = consultarReserva;
    }

    public boolean isConsultarServiciosAdicionales() {
        return consultarServiciosAdicionales;
    }

    public void setConsultarServiciosAdicionales(boolean consultarServiciosAdicionales) {
        this.consultarServiciosAdicionales = consultarServiciosAdicionales;
    }

    public boolean isDesactivarCliente() {
        return desactivarCliente;
    }

    public void setDesactivarCliente(boolean desactivarCliente) {
        this.desactivarCliente = desactivarCliente;
    }

    public boolean isFacturar() {
        return facturar;
    }

    public void setFacturar(boolean facturar) {
        this.facturar = facturar;
    }

    public boolean isGenerarInforme() {
        return generarInforme;
    }

    public void setGenerarInforme(boolean generarInforme) {
        this.generarInforme = generarInforme;
    }

    public boolean isGestionarCliente() {
        return gestionarCliente;
    }

    public void setGestionarCliente(boolean gestionarCliente) {
        this.gestionarCliente = gestionarCliente;
    }

    public boolean isGestionarHabitaciones() {
        return gestionarHabitaciones;
    }

    public void setGestionarHabitaciones(boolean gestionarHabitaciones) {
        this.gestionarHabitaciones = gestionarHabitaciones;
    }

    public boolean isGestionarRoles() {
        return gestionarRoles;
    }

    public void setGestionarRoles(boolean gestionarRoles) {
        this.gestionarRoles = gestionarRoles;
    }

    public boolean isGestionarSaladeEventos() {
        return gestionarSaladeEventos;
    }

    public void setGestionarSaladeEventos(boolean gestionarSaladeEventos) {
        this.gestionarSaladeEventos = gestionarSaladeEventos;
    }

    public boolean isGestionarServiciosAdicionales() {
        return gestionarServiciosAdicionales;
    }

    public void setGestionarServiciosAdicionales(boolean gestionarServiciosAdicionales) {
        this.gestionarServiciosAdicionales = gestionarServiciosAdicionales;
    }

    public boolean isGestionarUsuarios() {
        return gestionarUsuarios;
    }

    public void setGestionarUsuarios(boolean gestionarUsuarios) {
        this.gestionarUsuarios = gestionarUsuarios;
    }

    public boolean isModificarReserva() {
        return modificarReserva;
    }

    public void setModificarReserva(boolean modificarReserva) {
        this.modificarReserva = modificarReserva;
    }

    public boolean isRegistrarServicios() {
        return registrarServicios;
    }

    public void setRegistrarServicios(boolean registrarServicios) {
        this.registrarServicios = registrarServicios;
    }

    public boolean isSolicitarReserva() {
        return solicitarReserva;
    }

    public void setSolicitarReserva(boolean solicitarReserva) {
        this.solicitarReserva = solicitarReserva;
    }

    public static Rol cargarDatos(ResultSet in) throws SQLException {
        Rol out = new Rol();
        out.setId(in.getInt(1));
        out.setNombre(in.getString(2));
        out.setAbonar(in.getBoolean(3));
        out.setCancelarReserva(in.getBoolean(4));
        out.setConfigurarInformes(in.getBoolean(5));
        out.setConfirmarCheckIn(in.getBoolean(6));
        out.setConsultarHabitacionesDisponibles(in.getBoolean(7));
        out.setConsultarInforme(in.getBoolean(8));
        out.setConsultarReserva(in.getBoolean(9));
        out.setConsultarServiciosAdicionales(in.getBoolean(10));
        out.setDesactivarCliente(in.getBoolean(11));
        out.setFacturar(in.getBoolean(12));
        out.setGenerarInforme(in.getBoolean(13));
        out.setGestionarCliente(in.getBoolean(14));
        out.setGestionarHabitaciones(in.getBoolean(15));
        out.setGestionarRoles(in.getBoolean(16));
        out.setGestionarSaladeEventos(in.getBoolean(17));
        out.setGestionarServiciosAdicionales(in.getBoolean(18));
        out.setGestionarUsuarios(in.getBoolean(19));
        out.setModificarReserva(in.getBoolean(20));
        out.setRegistrarServicios(in.getBoolean(21));
        out.setSolicitarReserva(in.getBoolean(22));
        out.setEstado(in.getString(23).charAt(0));
        return out;
    }   

}
